package cn.south.campus.business.model.vo;

import cn.south.campus.business.model.entity.ExpressTakeOrder;
import cn.south.campus.common.model.vo.BaseVO;
import cn.south.campus.common.utils.DateUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * <p>
 *
 * </p>
 *
 * @author chow
 * @since 2025/2/27 13:40
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ExpressTakeOrderVo extends BaseVO {
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 快递代取Id
     */
    private Long expressTakeId;
    /**
     * 金额
     */
    private BigDecimal price;
    /**
     * 支付状态，0未支付，1已支付，2已取消
     */
    private Integer payStatus;
    /**
     * 订单状态，0，待完成，1已完成，2已取消
     */
    private Integer status;
    /**
     * 支付时间
     */
    private String payTime;
    /**
     * 支付方式
     */
    private String payMethod;
    /**
     * 备注
     */
    private String remark;

    public static ExpressTakeOrderVo convert(ExpressTakeOrder order) {
        if (order == null) {
            return null;
        }
        ExpressTakeOrderVo vo = new ExpressTakeOrderVo();
        vo.setId(order.getId());
        vo.setOrderNo(order.getOrderNo());
        vo.setExpressTakeId(order.getExpressTakeId());
        vo.setPrice(order.getPrice());
        vo.setPayStatus(order.getPayStatus());
        vo.setStatus(order.getStatus());
        vo.setPayTime(DateUtil.format(order.getPayTime()));
        vo.setPayMethod(order.getPayMethod());
        vo.setRemark(order.getRemark());
        return vo;
    }
}
